import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示

# 1.加载数据
data1 = pd.read_excel('Files/meal_order_detail.xlsx', sheet_name="meal_order_detail1")
data2 = pd.read_excel('Files/meal_order_detail.xlsx', sheet_name="meal_order_detail2")
data3 = pd.read_excel('Files/meal_order_detail.xlsx', sheet_name="meal_order_detail3")

# 2.数据预处理（合并数据,NA等处理），分析数据
data = pd.concat([data1, data2, data3], axis=0)
# print(data.info())

# 3.删除空行,并在原数据上修改
data.dropna(axis=1, inplace=True)
print(data.head())
# print(data.info())

# 4.统计卖出菜品的平均价格
print(round(data["amounts"].mean(), 2))  # 方法一：使用pandas自带函数
print(round(np.mean(data["amounts"]), 2))  # 方法二：使用numpy自带函数

# 5.频数统计，什么菜最受欢迎（对菜名进行频数统计，最最大值前10名）
dishes_counts = data["dishes_name"].value_counts()[:10]
print(dishes_counts)

# 6.数据可视化matplotlib
dishes_counts.plot(kind='line', color=['r'])
dishes_counts.plot(kind="bar", fontsize=15, title="菜品最受欢迎前10名")
for x, y in enumerate(dishes_counts):
    plt.text(x, y + 2, y, ha='center', fontsize=12)

plt.show()